package com.ruoyi.personnel.salary.calculation.mapper;

import com.ruoyi.personnel.salary.calculation.domain.CalculationCond;
import com.ruoyi.personnel.salary.calculation.domain.CalculationDomain;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 工资计算数据层
 * @author lsy 2021.7.19
 */
@Mapper
public interface CalculationMapper {
    /**
     * 获取所有工资计算记录
     * @param cond 搜索条件
     * @return
     */
    List<CalculationDomain> selectCalculationList(CalculationCond cond);

    /**
     * 获取指定工资计算记录
     * @param calculationItemId 计算项目编号
     * @return
     */
    CalculationDomain selectCalculationById(String calculationItemId);

    /**
     * 新增工资计算记录
     * @param calculation
     * @return
     */
    int insertCalculation(CalculationDomain calculation);

    /**
     * 修改工资计算记录
     * @param calculation
     * @return
     */
    int updateCalculation(CalculationDomain calculation);

    /**
     * 删除工资计算记录
     * 仅修改删除标志
     * @param calculation
     * @return
     */
    int updateCalculationDeleteFlag(CalculationDomain calculation);

    /**
     * 获取所有数据字段
     * @return
     */
    List<String> getALLDataField();
}
